1. Field of the Invention
This invention relates to frequency-domain signal processing, and particularly to video signal processing in the spatial frequency domain.
2. Description of the Prior Art
Motion estimation is used in many video signal processing schemes, and in particular video compression schemes, in order to reduce the amount of data which has to be transmitted or stored to represent a series of images (e.g. fields or frames). This benefit can be achieved because there is often a great deal of redundancy present in a video sequence. In particular, many areas of an image stay the same or are simply displaced from image to image. Thus, a reasonably good replica of a frame can be constructed from appropriately selected areas of previous frame(s), referred to here as reference frames.
For this type of processing, frames are generally broken down into square or rectangular areas (arrays of pixels) known as macroblocks. For example, in one previously proposed system, a macroblock comprises an array of 16.times.16 pixels. For each macroblock, one or more motion vectors is computed and transmitted or stored. The motion vectors point to areas on previous frame(s) which most closely resemble the content of the macroblock.
At the decoder, the motion vectors, together with error data (representing the difference between the actual or original frame and a replica predicted from the reference frame(s) using the motion vectors) are used to reconstruct each frame.
The process of computing the motion vectors at the encoder is generally referred to as motion estimation, and the process of generating the replica or reconstructed frames is generally referred to as motion compensation.
Many video compression schemes which use motion-based processing also try to reduce further the redundancy present in the video data, by first transforming the spatial domain data into a corresponding set of frequency domain coefficients which represent different spatial frequency components of the video data, and then reducing the amount of information by quantising these coefficients. A common technique for transforming the data to and from the frequency domain is the discrete cosine transform (DCT).
The discrete cosine transform is a block-based, process, so that an array of DCT coefficients is generated from each macroblock, independently of other macroblocks in the image. Usually, the array of coefficients (referred to here as a DCT block) is the same size (i.e. the same number of elements) as the original macroblock.
Therefore, if there is a need to generate a block of DCT coefficients based on a different block structure, it is necessary to decode the DCT data back to spatial (pixel) data and then recode in accordance with the required block structure. This can be processor-intensive and time-consuming.